package com.cmc.cloud.cmclink.doc.mapper;

import com.cmc.cloud.cmclink.doc.vo.specialcargoapplyvo.*;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cmes.framework.mybatis.core.mapper.BaseMapperX;
import com.cmc.cloud.cmclink.doc.entity.SpecialCargoApplyDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 特种货审批主信息 Mapper
 *
 * @author 集运管理员
 */
@Mapper
public interface SpecialCargoApplyMapper extends BaseMapperX<SpecialCargoApplyDO> {
    /**
     * selectPageList
     * @param page 分页数据
     * @param reqVo 条件参数对象
     * @return SpecialCargoApplyDO
     */
    IPage<SpecialCargoApplyDO> selectPageList(IPage<SpecialCargoApplyDO> page, @Param("reqVo") SpecialCargoApplyPageReqVO reqVo);

    /**
     * getApplyAndVoyageInfo
     * @param page 分页数据
     * @param reqVo 条件参数对象
     * @return ApplyAndVoyageInfoVO
     */
    IPage<ApplyAndVoyageInfoVO> getApplyAndVoyageInfo(IPage<ApplyAndVoyageInfoVO> page, @Param("reqVo") SpecialCargoApplyPageReqVO reqVo);
    /**
     * getApplyAndVoyageInfo 导出功能，去除分页
     * @param reqVo 条件参数对象
     * @return ApplyAndVoyageInfoVO
     */
    List<ApplyAndVoyageInfoVO> getApplyAndVoyageInfo(@Param("reqVo") SpecialCargoApplyPageReqVO reqVo);

    /**
     * getCntrDataInfo
     * @param reqVo reqVo
     * @return List<CntrDataRespVO>
     */
    List<CntrDataRespVO> getCntrDataInfo(@Param("reqVo") SpecialCargoApplyPageReqVO reqVo);

    /**
     * getDetailCntrData
     * @param reqVo reqVo
     * @return List<CntrDataRespVO>
     */
    List<DetailCntrDataRespVO> getDetailCntrData(@Param("reqVo") DetailCntrDataReqVO reqVo);

}
